coord_polar().Vamos a almacenar los datos en un onjeto llamado millas
para usarlo en los ejemplos.
fabricante | modelo | cilindrada | anio | cilindros | transmision | traccion | ciudad | autopista | combustible | clase |
|---|---|---|---|---|---|---|---|---|---|---|
audi | a4 | 1.8 | 1,999 | 4 | auto(l5) | d | 18 | 29 | p | compacto |
audi | a4 | 1.8 | 1,999 | 4 | manual(m5) | d | 21 | 29 | p | compacto |
audi | a4 | 2.0 | 2,008 | 4 | manual(m6) | d | 20 | 31 | p | compacto |
audi | a4 | 2.0 | 2,008 | 4 | auto(av) | d | 21 | 30 | p | compacto |
audi | a4 | 2.8 | 1,999 | 6 | auto(l5) | d | 16 | 26 | p | compacto |
audi | a4 | 2.8 | 1,999 | 6 | manual(m5) | d | 18 | 26 | p | compacto |
Para este gráfico de barras apiladas queremos observar cuantos autos
fueron fabricados en
dos mil ocho y de tracción en las 4 ruedas, teniendo en cuenta el
fabricante y la clase.
millas %>% filter(traccion == "4" & anio == 2008 & combustible == "p") %>% ggplot() +
aes(x = fabricante, fill = clase) + geom_bar()Para convertir este grafico de barras apiladas en un grafico circular
tenemos que usar la
funcion coord_polar que está en el paquete de ggplot2.
Por defecto el argumento theta = "x" y nos da un gráfico
que se conoce como “Ojo de Buey”.
Cuando el argumento es theta = "x", los valores del eje
x se mapean a los ángulos en la
proyección polar, lo que hace que las barras (o marcadores) se extiendan
radialmente según los
valores del eje x.
millas %>% filter(traccion == "4" & anio == 2008 & combustible == "p") %>%
ggplot() +
aes(x = fabricante, fill = clase) +
geom_bar() +
coord_polar()Cuando el argumento es theta = "y", los valores del eje
y se mapean a los ángulos en la proyección polar,
lo que significa que la longitud de las barras (la distancia radial) se
determina por los valores del eje y.
millas %>% filter(traccion == "4" & anio == 2008 & combustible == "p") %>%
ggplot() +
aes(x = fabricante, fill = clase) +
geom_bar() +
coord_polar(theta = "y")labs()?La función labs() en el paquete ggplot2
se utiliza para establecer etiquetas y leyendas en un gráfico.
Permite personalizar y añadir títulos a los ejes x e y, la leyenda de
colores, el título del gráfico y
la leyenda general del gráfico. Es una forma conveniente de agregar
metadatos descriptivos a un gráfico
creado con ggplot2.
En este ejemplo usaremos el codigo del Gráfico de barras apiladas
millas %>% filter(traccion == "4" & anio == 2008 & combustible == "p") %>% ggplot() +
aes(x = fabricante, fill = clase) + geom_bar() +
labs(title = "Distribución de clase de automóviles
por fabricante en 2008", # Le agregamos un título adecuado
x = "Fabricante del auto", # Cambiamos el nombre del eje `x`
y = "Número de autos", # Cambiamos el nombre del eje `y`
fill = "Tipo de auto", # Cambiamos el nombre de la leyenda
subtitle = "Estos autos solo tienen tracción en las
cuatro ruedas y combustible premium", # le agremos un subtítulo
caption = "fuente: http://fueleconomy.gov") # le agregamos la fuente de donde se han proporcionado los datoslabs() no es la única función para
agregar títulos. xlab(),
ylab() y
ggtitle() realizan la misma función.
coord_quickmap() y
coord_map()?Coord_map y coord_quickmap son dos
funciones que permiten proyectar mapas en entornos de
visualización en R, aunque difieren significativamente en términos de
precisión y velocidad de cálculo.
Coord_mapcoord_map ofrece una proyección precisa
del mapa, aunque requiere un tiempo
de computación considerable. Su objetivo es aproximar la proyección lo
máximo posible
para obtener representaciones cartográficas fieles a la realidad, siendo
útil para áreas extensas o
cuando se necesita alta precisión espacial.
Coord_quickmapCoord_quickmap ofrece una aproximación
rápida para preservar líneas rectas en la visualización
del mapa, a diferencia de coord_map. Aunque menos precisa,
coord_quickmap destaca por su velocidad
y eficiencia computacional, siendo útil para representar áreas pequeñas
cercanas al ecuador donde la
preservación de líneas rectas es prioritaria sobre la precisión
cartográfica.
Para este ejemplo vamos a usar el mapa del mundo que por defecto la proyección que usa es Mercator
mundo <- ggplot(map_data("world"),
aes(long, lat, group = group)) +
geom_polygon(fill = "white", color = 1) +
labs(title = "Mapa del Mundo",
x = "Longitud",
y = "Latitud")
mundoVamos a usar el paquete tictoc, lo cual
nos permitirá saber el tiempo que demora en ejecutarse el código.
coord_maptic()
mundo + coord_map(xlim = c(-180, 180)) # Hemos modificado los límites del eje X debido a que la función produce## 1.78 sec elapsed
coord_quickmap## 0.84 sec elapsed
Ejecutando los códigos podemos ver que cuando usamos la función
coord_quickmap el tiempo de ejecución es 0.84 sec elapsed
es menor al tiempo de ejecución de la función coord_map
siendo 1.78 sec elapsed
pero las proporciones del mapa no son tan precisas.
Ya que la mayoría de los datos están por encima de esta línea, significa que la mayoría de los autos tienen un mejor rendimiento en autopista en comparación con su rendimiento en ciudad, gastan menos combustible en la autopista por milla recorrida.
coord_fixed importante? ¿Qué hace
geom_abline?coord_fixed se utiliza para garantizar que la relación
entre las unidades en ambos ejes sea igual en un gráfico, lo que
significa que una unidad en el eje x es igual a una unidad en el eje y
en términos de la apariencia visual del gráfico. Es útil cuando se
necesitan gráficos con una escala igual en ambos ejes, como en gráficos
de dispersión donde las unidades en ambos ejes deben ser proporcionales
entre sí.
geom_abline se utiliza para trazar líneas diagonales
(líneas de regresión) en un gráfico. Es útil para visualizar relaciones
lineales entre variables en un gráfico de dispersión o para agregar
líneas de regresión a otros tipos de gráficos para resaltar tendencias o
patrones en los datos.
Si solo usamos la función geom_abline en el gráfico
traza una linea diagonal pero las proporciones estan mal ajustadas,
podemos interpretar erróneamente el gráfico.
ggplot(data = millas, mapping = aes(x = ciudad, y = autopista)) +
geom_point() +
geom_abline() +
coord_fixed()Ahora al agregar la función coord_fixed aseguramos que
la línea que genera geom_abline tenga un ángulo de 45
grados. Esto facilita la comparación cuando los rendimientos en
autopista y ciudad son iguales.
Podemos usar el paquete plotly para tener un gráfico mas
interactivo
ca <- ggplot(data = millas, mapping = aes(x = ciudad,
y = autopista,
color = fabricante)) + # Para saber el fabricante del auto
geom_point() +
geom_abline() +
coord_fixed()Ahora podemos ver la información de cada punto como por ejemplo cual es la cantidad de millas recorridas en autopista, en ciudad y cual es su fabricante.